perm filename OPDECL.SAI[PNT,HE]6 blob
sn#402761 filedate 1978-12-08 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 REdefine
C00005 ENDMK
C⊗;
REdefine
preload_array(name, defs, type, first, len)"[][]"=[
preload_with defs null; type array name[first:first+len] ];
REdefine
preset_array(name, defs, type, first, len) "[][]"=[
preset_with defs null; type array name[first:first+len] ];
REdefine
indices(name, postfix)"[][]"=[
redefine xxcount=1;
redefine xx(xxarg)=[
redefine xxtemp= [ define xxarg]&[postfix=xxcount];
xxtemp;
redefine xxcount=xxcount+1;];
name ];
define op_list "[][]"=[
ZZ("*", times, #TERM)
ZZ(".", dot, #TERM)
ZZ("REL", rel, #TERM)
ZZ("←", backarrow, #TERM)
ZZ("/", divide, #TERM)
ZZ("MIN", MIN, #TERM)
ZZ("MAX", MAX, #TERM)
ZZ("MOD", MOD, #TERM)
ZZ("DIV", DIV, #TERM)
ZZ("+", Plus, #EXP)
ZZ("-", minus, #EXP)
ZZ("WRT", WRT, #TERM)
ZZ("POS", POS, #FACTOR)
ZZ("UNIT", UNIT, #FACTOR)
ZZ("AXIS",AXIS, #FACTOR)
ZZ("ORIENT", ORIENT, #FACTOR)
ZZ("CONSTRUCT", CONSTRUCT, #FACTOR)
ZZ("FRAME", FRAME, #FACTOR)
ZZ("VECTOR", VECTOR, #FACTOR)
ZZ("TRANS", TRANS, #FACTOR)
ZZ("|", MAGNITUDE, #FACTOR)
ZZ(["("], LPAREN, #FACTOR)
ZZ(["( , , )"],IMPLICIT, #FACTOR)
ZZ("↑", UPARROW, #FACTOR)
ZZ("↓", DOWNARROW, #FACTOR)
ZZ("$", DOLLAR, #FACTOR)
ZZ("α", ALPHA, #FACTOR)
ZZ("SQRT", SQRT, #FACTOR)
ZZ("INT", INT, #FACTOR)
ZZ("SIN", SINE, #FACTOR)
ZZ("COS", COSINE, #FACTOR)
ZZ("TAN", TANGENT, #FACTOR)
ZZ("ASIN", ASINE, #FACTOR)
ZZ("ACOS", ACOSINE, #FACTOR)
ZZ("EVAL", EVAL, #FACTOR)
ZZ("ATAN2", ATAN2, #FACTOR)
ZZ("ROT", ROT, #FACTOR)
];
REQUIRE "[][]" DELIMITERS;
REDEFINE ZZ(ARG0,ARG1,ARG2)=[XX(ARG1)];
indices(op_list,_X) ;
DEFINE #EXP=1,#FACTOR=2,#TERM=3 ;
REDEFINE ZZ(ARG0,ARG1,ARG2)=[ARG0,] ;
preset_array(CODE_OP, OP_LIST,STRING, 1, ROT_X);